草庐IT

SQL server 实验5 T-SQL编程

全部标签

c# - LINQ to SQL - 如何高效地对多个条件执行 AND 或 OR 搜索

我有一个ASP.NETMVC站点(它使用LinqToSql作为ORM),并且客户想要一个针对定制数据库的搜索工具,他们可以选择进行“AND”搜索(所有条件匹配)或“或”搜索(任何条件匹配)。该查询非常复杂且冗长,我想知道是否有一种简单的方法可以使它同时执行这两项操作,而无需创建和维护两个不同版本的查询。例如,当前的“AND”搜索看起来像这样(但这是一个大大的简化版本):privateIQueryableGetSampleSearchQuery(SamplesCriteriacriteria){varresults=fromrinTablewhere(r.Id==criteria.Sam

C# 单元测试 - 生成模拟 DataContexts/LINQ -> SQL 类

我热爱C#的新世界,我的玩具程序已经到了我想开始编写一些单元测试的地步。我的代码当前通过DatabaseDataContext对象(*.dbml文件)使用数据库,为此对象创建模拟的最佳方法是什么?考虑到生成数据库LINQ->SQL代码是多么容易以及这一定是一个多么普遍的请求,我希望VS2010内置了有助于测试的功能。如果我偏离了方向并且必须手动完成此操作,您能否告诉我您的首选方法?非常感谢,加文 最佳答案 DataContext的问题在于它不是为模拟而设计的。模拟不可模拟对象的免费工具是MolesfromPex(Pexmoles?)

c# - 清理 SQL 数据

Google出现了各种关于清理Web访问查询的讨论,但我没有找到任何解决我所关心的问题的内容:在C#程序中清理用户输入数据。这必须通过可逆转换来完成,而不是通过移除来完成。作为问题的一个简单示例,我不想破坏爱尔兰名字。什么是最好的方法,是否有任何库函数可以做到这一点? 最佳答案 这取决于您使用的SQL数据库。例如,如果您想在MySQL中使用单引号文字,则需要使用反斜杠Dangerous:'和转义的转义字rune字:\'。对于MS-SQL,事情就完全不同了,Dangerous:'escaped:''。当您以这种方式转义数据时,不会删除

c# - 以编程方式使用证书身份验证配置 WCF 服务客户端

如何在C#中以编程方式使用证书身份验证设置ServiceClient?而且我不想使用.config。using(varsrv=GetServiceInstance()){srv.DoStuff()}privateTheServiceClientGetServiceInstance(){varservice=newTheServiceClient(CreateWsHttpBinding(),CreateEndpointAdress());returnservice;}privatestaticWSHttpBindingCreateWsHttpBinding(){varwsHttpBind

c# - 异步编程中的悬挂等待和可能的内存泄漏

.NET4.5和AsyncCTP4.0中包含await的流程可能会由于各种原因而卡住,例如因为远程客户端没有响应。当然,WaitForAny,当我们也等待某个超时任务时,显然是一种恢复高层流的解决方案。尽管如此,这并不能解决所有可能的问题。我有以下问题:永远不会返回的await的上下文会发生什么?我知道这会造成内存泄漏。我说得对吗?我如何在调试器中或使用相应的API检查应用程序中存在多少悬挂“等待者”?是否可以全局枚举它们?如果3.是正确的,是否可以强制取消这些*await*s的任务(即清理)?注意:在问题4中,我没有询问在显式任务创建期间要使用的取消项。我指的是间接创建任务的情况:a

c# - SQL Server : ADO.Net GetUpdateCommand ok with PK,在添加另一个聚集唯一索引后失败

我有这样一个带有非聚集主键的表:CREATETABLE[dbo].[StudentGrade]([EnrollmentID][int]IDENTITY(1,1)NOTNULL,[CourseID][nvarchar](10)NOTNULL,[StudentID][int]NOTNULL,[Grade][decimal](3,2)NOTNULL,CONSTRAINT[PK_StudentGrade]PRIMARYKEYNONCLUSTERED([EnrollmentID]ASC))选择语句是:selectEnrollmentID,GradefromStudentGradeGetUpdat

c# - 我可以以编程方式启用/禁用中断异常吗?

我希望能够在调试时中断异常...就像在VisualStudio2008的菜单调试/异常对话框中一样,除了我的程序在我到达我希望调试的位置之前有许多有效的异常。因此,不是每次都使用对话框手动启用和禁用它,而是可以使用#pragma或其他一些方法自动启用和禁用它,这样它只发生在特定的代码段中吗? 最佳答案 做接近此操作的唯一方法是将DebuggerNonUserCodeAttribute放在您的方法上。这将确保标记方法中的任何异常都不会导致异常中断。很好的解释here...Thisisanattributethatyouputagain

c# - 以编程方式将用户权限添加到 Sharepoint 中的列表

如何以编程方式将用户权限添加到Sharepoint中的列表?我想为某个列表的用户或组添加“贡献”权限。我正在使用C#。 最佳答案 您可以使用SPRoleAssignment执行此操作对象,例如//AssumingyoualreadyhaveSPWebandSPListobjects...SPRoleAssignmentroleAssignment=newSPRoleAssignment("dom\\user","user@dom","user","somenotes");SPRoleDefinitionroleDefinition=

c# - 使用SQL返回JSON字符串

这是一个“最佳实践”问题。我们正在就此主题进行内部讨论,并希望获得更广泛受众的意见。我需要将数据存储在具有常规列和行的传统MSSQLServer表中。有时我需要将DataTable返回到我的Web应用程序,而其他时候,我需要返回JSON字符串。当前,我将表返回到中间层并将其解析为JSON字符串。这似乎在大多数情况下都能很好地工作,但偶尔会在大型数据集上花费一些时间(解析数据,而不返回表)。我正在考虑修改存储过程,以有选择地返回DataTable或JSON字符串。我只需将@isJsonbit参数添加到SP。如果用户希望使用字符串而不是表,则SP将执行以下查询:DECLARE@result

c# - 如何以编程方式解析和修改 C# 代码

我想做的是阅读C#代码,解析它,插入一些方法调用并最终编译它。是否可以将C#源代码(字符串列表)转换为CodeDOM对象? 最佳答案 这是一个非常古老的问题,但值得注意的是,已接受的答案不再适用。微软最近Roslyn项目明确旨在公开编译器在静态分析代码库的过程中获得的有关您的代码库的所有知识,并通过托管API公开所有这些信息供您利用。它适用于VB和C#。由于您要使用静态分析信息,因此需要Microsoft.CodeAnalysisNuGet包(C#所需的东西在Microsoft.CodeAnalysis.CSharp命名空间下),有